为了加深记忆,制作此图。
根据此表整理了排序对比图,其中
1. 柱状图蓝色表示是稳定的,柱状图黄色表示不稳定的;
2. 柱状图中间的数字表示时间复杂度,红色字体表示最差时,黑色字体表示平均复杂度;
3. 柱状图虚线表示最差时的时间复杂度,因为冒泡排序,交换排序,选择排序的最差和平均时间复杂度是一样的,都是O(n^2),所以图中看不见虚线;
4. 实线柱状图,即平均时间复杂度,效率从低到高依次是:
冒泡排序 ≈ 交换排序 ≈选择排序 < 插入排序 <Shell排序 <堆排序 < 归并排序 <快速排序
大多数情况下,快速排序效率最高,但如果数据已经基本有序的情况下,效率退化到O(n^2)。